package com.melody.service;

import com.melody.model.vo.UserLogin;
import com.melody.entry.Result;
import com.melody.entry.UserInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.melody.model.dto.UserRegisterDto;
import com.melody.model.dto.UserSaveDto;
import com.melody.model.vo.UserInfoVo;

/**
* @author zxz
* @description 针对表【user_info(用户信息表)】的数据库操作Service
* @createDate 2025-05-09 10:31:18
*/
public interface UserInfoService extends IService<UserInfo> {

    /**
     * 用户注册
     * @param userRegisterDto
     * @return
     */
    Result<String> userRegister(UserRegisterDto userRegisterDto);



    /**
     * 用户登录
     * @param userSaveDto
     * @return
     */
    Result<String> userLogin(UserSaveDto userSaveDto);

    /**
     * 根据token获取用户详情
     *
     * @return
     */
    Result<UserInfoVo> userInfoById();

    /**
     * 删除用户
     * @return
     */
    Result<String> deleteUser();

    /**
     * 验证码登录
     * @param userSaveDto
     * @return
     */
    Result<String> codeLogin(UserSaveDto userSaveDto);

    /**
     * 根据id获取用户详情
     * @param userId
     * @return
     */
    Result<UserInfoVo> userInfoByIdid(Integer userId);

    /**
     * 天气项目临时借用
     * 实现登录注册
     * @param userLogin
     * @return
     */
    Result<String> loginOrRegister(UserLogin userLogin);
}
